#include "Rotacao.h"

#include <gl\glui.h>
#include <iostream>



Rotacao::Rotacao(const string & axis, float angulo) {
	this->axis="111";
	
	if(axis == "x") {
		this->axis[0] = 1;
		this->axis[1] = 0;
		this->axis[2] = 0;
	} else if(axis == "y") {
		this->axis[0] = 0;
		this->axis[1] = 1;
		this->axis[2] = 0;
	} else if(axis == "z") {
		this->axis[0] = 0;
		this->axis[1] = 0;
		this->axis[2] = 1;
	}
	this->angulo = angulo;
}

// O QUE E O AXIS
void Rotacao::aplica() {
	glPushMatrix();
	float axisX = this->getAxis()[0];
	float axisY = this->getAxis()[1];
	float axisZ = this->getAxis()[2];
	float anguloTemp = this->getAngulo();
	glRotatef(anguloTemp,axisX,axisY,axisZ);
	glPopMatrix();
}

void Rotacao::setAxisX(string axis) {
	this->axis[0] = 1;
	this->axis[1] = 0;
	this->axis[2] = 0;
}
void Rotacao::setAxisY(string axis) {
	this->axis[0] = 0;
	this->axis[1] = 1;
	this->axis[2] = 0;
}
void Rotacao::setAxisZ(string axis) {
	this->axis[0] = 0;
	this->axis[1] = 0;
	this->axis[2] = 1;
}
void Rotacao::setAngulo(float angulo) {
	this->angulo = angulo;
}

string Rotacao::getAxis() const {
	return this->axis;
}
float Rotacao::getAngulo() const {
	return this->angulo;
}